#pragma once

#include "ServerHeader.h"

#include <adwaita.h>

G_BEGIN_DECLS

#define MEMBER_TYPE_ENTRY (member_entry_get_type())
G_DECLARE_FINAL_TYPE(MemberEntry, member_entry, MEMBER, ENTRY, AdwActionRow)

extern MemberEntry *member_entry_new(const char *user_name,
				     euint32 relate_group_id, euint32 user_id,
				     bool can_write);

#define MEMBER_TYPE_MANAGER (member_manager_get_type())
G_DECLARE_FINAL_TYPE(MemberManager, member_manager, MEMBER, MANAGER, AdwDialog)

extern MemberManager *member_manager_new(euint32 group_id);
extern void	      member_manager_fetch_all_member(MemberManager *self);

G_END_DECLS
